home *** CD-ROM | disk | FTP | other *** search
- procedure QBINIT
- * Q B I N I T . P R G
- clear
- set date british
- set exact off
- set talk off
- set safety off
- set unique off
- set bell off
- set wrap on
- set scoreboard off
- set deleted on
- set status off
- set device to screen
- set intensity on
- set function 9 to chr(23)
- * Last change: MIB 11 Aug 93 4:44 pm
-
- public QBSAFE, QBTITLE, QBMSGLIN, QBPROC
- public COLNORM, COLPWD, COLFLASH, COLHEAD, COLMENU, COLBRIGHT
- public COLMON, QBVAT, GETOUT, CHANGED, QBKEY, QBCHOICE
- public QBDATE, QBRESP, QBRESPD
- private M
-
- * Print intialisation
- public PAGENO, PLENGTH, PLINE, PHEAD1, PHEAD2, PHEAD3, PHEAD4, PHEAD5
- public PHEAD6, PHEAD7, PHEAD8, PHEAD9
- public PHEAD, PDEST, PFOOT, PFOOT1, PFOOT2, PFOOT3, PFOOT4, PFOOT5
- public PSTART, PWIDTH,PSET1,PSET2,PSET3,PSET4,PSET5,TPSET1,TPSET2
- PDEST = " "
- store "" to PHEAD1, PHEAD2, PHEAD3, PHEAD4, PHEAD5, PHEAD6, PHEAD7, PHEAD8, PHEAD9
-
- use qbinfo index qbinfo
- seek "COLOUR"
- COLMON = (trim(QBTEXT) = "C")
- seek "PSET1"
- mem = trim(QBTEXT)
- PSET1 = &mem && set system emulation mode
- skip
- mem = trim(QBTEXT)
- PSET5 = PSET1+&mem && Set normal text
- skip
- mem = trim(QBTEXT)
- PSET4 = PSET1+&mem && Set compressed
- skip
- mem = trim(QBTEXT)
- PSET2 = PSET4+&mem && Set compressed portrait
- PSET5 = PSET5+&mem && Set normal portrait
- skip
- mem = trim(QBTEXT)
- PSET3 = PSET4+&mem && Set compressed landscape
- TPSET1 = PSET2
- TPSET2 = PSET5
-
- getout = .f.
- CHANGED = .f.
- qbkey = 0 && Keystroke returned from qbmenu
- QBCHOICE = 1
-
- qbtitle = space(30) && Application title - qbinfo record #1
- IF colmon
- colnorm = "W/B,N/W,B,B,W+/B" && Normal screen colours
- colbright = "W+/B,N/W+,B,B,W+/B" && Say data high
- colmenu = "W+/B,N/W+,B,B,W+/B"
- colpwd = "W+/B,B/B,B,B" && Password screen colours
- colflash = "R*/W,N*/W,B,B" && Flashing message
- colhead = "GR+/B,N/W,B,B,W+/B" && Bright Yellow/Blue
- ELSE
- colnorm = "W/N,N/W,,,W+/N"
- colbright = "W+/N,N/W+,,,W+/N" && Say data high
- colmenu = "W+/N,N/W+"
- colpwd = "N/N,N/N,X"
- colflash = "W*/N,N/W*"
- colhead = "N/W+,W/N,,,W+/N"
- ENDIF
- qbproc = space(30) && Procedure name being run
- qbmsglin = 0
- QBRESP = " "
- DO qbindate && Confirm/Get System date
-
- * Get password
- DO qblayout WITH "Password Verification"
- do QBBOX with 40
- set color to (iif(COLMON,COLHEAD,COLBRIGHT))
- M = "Quin Butterworth Spangenthal"
- @ 9,centre(M) say M
- M = "Systems Design & Consultancy"
- @ 12,centre(M) say M
- M = "for support call"
- @ 14,centre(M) say M
- M = "081-994-4842"
- @ 16,centre(M) say M
- set color to (COLNORM)
- close database
-
- set color to (COLNORM)
-
- set exact off
- select 0
- use QBINFO index QBINFO
- SEEK "HEADING"
- IF found()
- qbtitle = trim(qbtext)
- else
- QBTITLE = "Quin Butterworth Spangenthal"
- ENDIF
- SEEK "VATRATE"
- IF .NOT. eof()
- qbvat = val(qbtext)
- else
- qbvat = 17.50
- ENDIF
-
- RETURN
-
- procedure QBINDATE
-
- * Q B I N D A T E . P R G
- * Check the system date and get the user to confirm it or change
- PRIVATE t, the_date
- qbdate = space(29)
- * Time bomb could go in here
- * data record contains date last used, date to blow up
- * if date < date last used error reenter else if
- * if date> timebomb date blow up
-
- DO qblayout WITH "Q B Systems"
- DO qbmess WITH "Checking Date",colflash,0
- DO qblstsun && Delivers the date last sunday...
-
- the_date = date()
-
- DO WHILE the_date = ctod("01/01/80")
- DO qbgetd WITH "Input today's date" ,"01/01/80"
- qbdate = dtoc(qbrespd)
- RUN date &qbdate
- the_date = date()
- ENDDO
-
- d = day(the_date)
- do case
- case d=1.or.d=21.or.d=31
- store "st" to t
- case d=2.or.d=22
- store "nd" to t
- CASE d=3 .OR. d=23
- store "rd" TO t
- otherwise
- store "th" to t
- endcase
-
- qbdate = cdow(the_date)+" "+str(day(the_date),2)+t+" ";
- +cmonth(the_date)+" "+str(year(the_date),4)
-
- RETURN
-
- procedure QBPSETUP
-
- CLEAR
- @ 1,0 to 1,79 double
- @ 2,0 say "Q.B. Systems Ltd."
- @ 3,0 to 3,79 double
- @ 21,0 to 21,79 double
- @ 2,32 SAY "Printer Setup"
- use QBINFO index QBINFO
- do while .t.
- seek "PSET1"
- MPSET1=QBTEXT
- skip
- MPSET2=QBTEXT
- skip
- MPSET3=QBTEXT
- skip
- MPSET4=QBTEXT
- skip
- MPSET5=QBTEXT
- seek "PSET1"
- do while .t.
- @ 6,5 say "Unprintable Decimal ASCII codes should appear as CHR(n) functions"
- @ 7,5 say "i.e. Escape is chr(27)"
- @ 8,5 say "Printable ASCII codes should appear in single quotes"
- @ 9,5 say "i.e. 'ABC'"
- @ 10,5 say "Strings of control codes should be concatenated with '+'"
- @ 11,5 say "i.e. chr(27)+'15'"
- @ 13,10 say "Printer initialisation " get MPSET1
- @ 14,10 say "Normal Characters " get MPSET2
- @ 15,10 say "Compressed print " get MPSET3
- @ 16,10 say "Portrait " get MPSET4
- @ 17,10 say "Landscape " get MPSET5
- read
- if ["]$MPSET1+MPSET2+MPSET3+MPSET4+MPSET5
- @ 22,2 say [There is a " in a print setup string! Please use ' instead. Press a key.]
- wait " "
- @ 22,0 clear
- else
- I = QBPROMPT("Save|Edit|Quit|Restart","",1)
- do case
- case QBRESP="Q"
- use
- return
- case QBRESP="R"
- exit
- case QBRESP="S"
- replace QBTEXT with MPSET1
- skip
- replace QBTEXT with MPSET2
- skip
- replace QBTEXT with MPSET3
- skip
- replace QBTEXT with MPSET4
- skip
- replace QBTEXT with MPSET5
- use
- return
- endcase
- endif
- enddo
- enddo
-
- return
-
-